home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
systems
/
emulate
/
cpm
/
emu.txt
< prev
next >
Wrap
Text File
|
1995-11-25
|
8KB
|
163 lines
GERD HILDEBRANDT, HERBERT THIESS
S O F T W A R E Z 8 0 O N 6 8 0 0 0
-----------------------------------------
TO ENCOURAGE THE TRANSITION TO POWERFUL 68000 16 BIT HARDWARE
A Z80- AND CP/M-EMULATOR BRIDGES THE SOFTWARE GAP. A PURE
SOFTWARE EMULATION PROVIDES A COMPLETE VIRTUAL Z80 CPU UNDER
THE CP/M 2.2 OPERATING SYSTEM.
The micro-revolution currently is on the move from the 8 bit
to the 16 bit generation. In the 8 bit generation the Z80 is the
microprocessor with the biggest market share, its instruction
set is upward compatible with the 8080/8085 microprocessors.
With millions of microprocessors of this family in use, one
operating system was quickly established as a standard: CP/M 2.2
from Digital Research. Supported by this wide acceptance, the
largest software library of tools and applications could grow.
Over the years, huge investments were spent in CP/M standard
software, the development of specific applications and the
training of users. These programs are now well tested and their
users have become accustomed to them.
With the growing demand for software flexibility, the limits
of the 8 bit generation, especially the 64 K addressing range,
were encountered. The first microprocessor of the new 16 bit
generation, the Intel 8086, was quickly pushed into the market.
Its instruction set and register structure were designed as an
extension of the 8080/8085. So it was possible to transfer exis-
ting programs easily to the 8086. The limitations of the 64 K
addressing range were overcome, but a lack of orthogonality and
addressing capability in the architecture remains. The successor
80186 was extended by some hardware-features, but the poor
instruction set was retained. The same applies to the 80286 in
its compatibility mode. The new 286 mode is hampered by design
flaws on the chip.
Other microprocessor developers did not insist on upward
compatibility and took the chance to introduce new concepts of
CPU architecture with their 16 bit generation microprocessors.
Thus the 68000, even though it came late, is now established as
an alternative to the 8086. The 68000 family was extended by the
more powerful 68010 and the 32 bit processor 68020.
Today the 16 bit micro market is mainly divided between two
opponents: on one side the conventional 8086 family with a large
software base and on the other side the advanced 68000 family
with less software as yet available. In contrast to the 8 bit
generation, in the 16 bit generation no microprocessor and
therefore no operating system has become established as a stan-
dard. The ongoing confusion about future trends leads to uncer-
tainty for customers and blocks investment in both new hardware
and software.
A b r i d g e b e t w e e n Z 8 0 a n d 6 8 0 0 0
For users who will take the more innovative way to the 16 bit
generation, SoftDesign of Munich have developed a tool to ease
the transition: the CP/M-Z80 EMULATOR opens up the whole
CP/M 2.2 software library for 68000 micros with CP/M-68K. Using
the CP/M-Z80 EMULATOR results in various advantages:
- Software tools and applications not yet available for CP/M-68K
can be substituted by CP/M 2.2 programs. Thus assemblers,
cross-assemblers, compilers for many languages, text-proces-
sing, spreadsheets etc. become immediately available.
- It is possible to take the step up to the 16 bit generation
and continue using existing 8 bit software. Investments in
existing software are not lost or wasted.
- The advantages of modern hardware can be utilized by Z80
software.
- A 68000 system with CP/M-68K can serve as Z80 software deve-
lopment system without the necessity to keep 8 bit hardware.
The CP/M-Z80 EMULATOR runs without adaptation on any 68000
computer with the CP/M-68K operating system vers. 1.1 or 1.2 and
at least 95 K user memory (TPA). Usage of the EMULATOR is very
simple: entering the command "CPMZ80<return>" starts the
EMULATOR and a complete CP/M 2.2 system with Z80 CPU is activa-
ted. Even an experienced CP/M user will not notice that there is
no Z80, but a 68000 CPU, working in the system. All CP/M 2.2
compatible programs will run without restrictions:
WORDSTAR, MBASIC, DBASE II, MULTIPLAN, PL/I-80, BDS C,
TURBO PASCAL, PASCAL MT+, MACRO-80, LINK-80, DDT, XSUB,
SUBMIT, ZSID, DU, MOVEIT, MODEM77, ZORK, just to name a few...
F a s t Z 8 0 e m u l a t i o n
The emulation of a CPU in software is time consuming because
it works in a similar way to an interpreter. Each operation of
the virtual CPU is interpreted by a short code sequence of the
emulating CPU. Emulation is specially difficult for peculiari-
ties in the emulated CPU's architecture not found on the hard-
ware CPU. For example it is quite complicated for the 68000 CPU
to generate the Z80's Half Carry Flag and to compensate the re-
verse order of the bytes in a word. However, the CP/M-Z80 EMULA-
TOR is completely written in assembly language and gains its
high speed by optimally using the large register frame of the
68000 CPU and table driven interpretation. Under the CP/M-Z80
EMULATOR average CP/M-80 programs execute with the speed of a
2 MHz Z80 CPU on a 8 MHz 68000 system. In practice the execution
speed varies for different programs, an important factor is the
frequency of I/O access. Programs with heavy disk I/O for
example may run even faster than on real Z80 hardware. On the
other hand intensive arithmetic computations slow down the
EMULATOR. The following measurements for the execution time
ratio between the virtual CPU and Z80 hardware have been taken:
Extreme values : 0.6 and 6
Average : 2
To allow access to 68000 hardware I/O ports by Z80 I/O op-
codes, a special interface has been provided. For that purpose
the user may build a custom driver to map Z80 port addresses to
68000 I/O routines. If such a driver module is present, it is
loaded automatically by the EMULATOR. Communication software can
utilize these I/O capabilities to access modems and other data
links. This eases the transport of existing CP/M 2.2 software to
the 68000 system.
I n t e g r a t e d C P / M - 8 0
The CP/M-Z80 EMULATOR includes a specially designed operating
system upward compatible to CP/M-80. The user interface corres-
ponds to that of standard CP/M 2.2 with some user friendly
extensions and improvements. An additional EXIT command provides
a means of returning to CP/M-68K. All physical I/O devices
implemented under CP/M-68K (terminal, printer and other inter-
faces) and all background storage devices (floppy disk drives,
hard disks, tape streamers and RAM disks) are accessible from
the emulated CP/M-80. An automatic configuration algorithm
installs all these devices without user intervention. This leads
to a transportability between CP/M-68K and the emulated CP/M-80.
All files can be read and written under both systems. Compact
implementation of the CP/M-80 system provides a large user
memory (TPA) of 58 Kbyte. All system calls defined in CP/M-80
are fully implemented.
P r o f e s s i o n a l t o o l
The CP/M-Z80 EMULATOR is used by software professionals on
many different CP/M-68K systems. The EMULATOR is a proven soft-
ware product and is ready for immediate delivery. A free demo
disk is available for evaluation without risk or obligation.
Disks can be supplied either in 5 inch STRIDE or 8 inch single
density format. Versions of the CP/M-Z80 EMULATOR for OS-9/68K
and UNIX V are under development.
ə